<?php

class aceroController extends Controller {
    public function __construct() {
        parent::__construct();
    }
    
    public function index(){
    }
    
    public function rechazo($idcolada){
        echo "inicio: " . date('G:i:s');
        $this->_view->setLayout('sincss');
        $this->_view->assign('titulo', 'Transaccion Acero');
        $this->_view->assign('titulo2',"Datos para transaccion de piezas rechazadas");
        
        //Cargar modelos
        $tran = array();
        
        if(!isset($_POST['guardar'])){
            $productos = $this->loadModel('Producto');
            $colada = $this->loadModel('Colada');
            $consumos = $this->loadModel('Consumo');
            $costos = $this->loadModel('Costos');
            
            $colada->open();
            $consumos->open();
            
            $moldes = $colada->pzasRechazadas($idcolada);
            
            $almacenMaterial = $this->loadModel('Almprodusu');
            
            $tran = array();
            $count = 0;
            
            foreach($moldes as $molde){
                $productos->open();
                $productos->getProducto($molde['producto']);
                $productos->close();
                
                $costos->open();
                $costos->get('aleacion',"'" . $productos->_campousuario3 . "'");
                $costos->close();
                
                $tran[$count]['serie'] = 'RAF';
                $tran[$count]['colada'] = $molde['colada'];
                $tran[$count]['fecha'] = $molde['fecha'];
                $tran[$count]['lance'] = $molde['lance'];
                $tran[$count]['horno'] = $molde['maquina'];
                $tran[$count]['producto'] = $molde['producto'];
                $tran[$count]['descripcion'] = $productos->_descripcion;
                $tran[$count]['almacen'] = 'RFA';
                $tran[$count]['usuario'] = 'Erikrefa';
                $tran[$count]['costo'] = $costos->_factor * $productos->_campousuario1;
                $tran[$count]['tipo'] = 'E';
                $tran[$count]['tipo2'] = 'Pza Rechazada';
                $tran[$count]['cantidad'] = $molde['cantidad'] * $productos->_tiemposurtido;
                $count++;
            }
            
            $this->_view->assign('moldes', $tran);
        }else{
            unset($_POST['guardar']);
            
            $sermod = $this->loadModel('Sermod');
            $transac = $this->loadModel('Transac');
            $partran = $this->loadModel('Partran');
            
            $count = 1;
            $Transac = "";
            $datosTransac = array();
            
            while(isset($_POST['colada_' . $count])){
                $transac->open(false);
                $datosTransac = $transac->getTransac($_POST['fecha_' . $count],$_POST['serie_' . $count],$_POST['usuario_' . $count],$_POST['colada_' . $count]);
                $transac->close();
                
                $Transac .= $_POST['serie_1'] . $datosTransac[$_POST['almacen_' . $count]]['NUMERO'] . ", ";
            
                //carga los datos en un arreglo para insertarlos en un solo movimiento
                $datosPartran[] = $partran->setPartran(
                    $datosTransac['codigo'],
                    $count,$_POST['fecha_' . $count],
                    $_POST['almacen_' . $count],
                    $_POST['producto_' . $count],
                    $_POST['cantidad_' . $count] * ($_POST['tipo_' . $count] == 'S' ? -1 : 1),
                    $_POST['costo_' . $count],
                    $_POST['tipo_' . $count],
                    'Generado desde PHP'
                );
                
                $count++;
            }
            
            $partran->open(false);
            if(!$partran->insert($datosPartran)){
                $this->_view->assign('_error', 'Error al generar la partida');
                $this->_view->renderizar('fusion', 'inicio');
            }
            
            $partran->close();
               
            $this->_view->assign('_susess', 'Transacciones generadas ' . $Transac);
        }
        
        //Envio de datos
        $this->_view->renderizar('fusion', 'inicio');
        echo "final: " . date('G:i:s');
    }
    
    public function piezas($idcolada){
        echo "inicio: " . date('G:i:s');
        $this->_view->setLayout('sincss');
        $this->_view->assign('titulo', 'Transaccion Acero');
        $this->_view->assign('titulo2',"Datos para transaccion de piezas Vaciadas");
        
        //Cargar modelos
        $tran = array();
        
        if(!isset($_POST['guardar'])){
            $productos = $this->loadModel('Producto');
            $colada = $this->loadModel('Colada');
            $consumos = $this->loadModel('Consumo');
            $costos = $this->loadModel('Costos');
            
            $colada->open();
            $consumos->open();
            
            $moldes = $colada->pzasVaciadas($idcolada);
            
            $almacenMaterial = $this->loadModel('Almprodusu');
            
            $tran = array();
            $count = 0;
            
            foreach($moldes as $molde){
                $productos->open();
                $productos->getProducto($molde['producto']);
                $productos->close();
                
                $costos->open();
                $costos->get('aleacion',"'" . $productos->_campousuario3 . "'");
                $costos->close();
                
                $tran[$count]['serie'] = 'PLA';
                $tran[$count]['colada'] = $molde['colada'];
                $tran[$count]['fecha'] = $molde['fecha'];
                $tran[$count]['lance'] = $molde['lance'];
                $tran[$count]['horno'] = $molde['maquina'];
                $tran[$count]['producto'] = $molde['producto'];
                $tran[$count]['descripcion'] = $productos->_descripcion;
                $tran[$count]['almacen'] = 'PLA';
                $tran[$count]['usuario'] = 'Erikfa';
                $tran[$count]['costo'] = $costos->_factor * $productos->_campousuario1;
                $tran[$count]['tipo'] = 'E';
                $tran[$count]['tipo2'] = 'Pza Vaciada';
                $tran[$count]['cantidad'] = $molde['cantidad'] * $productos->_tiemposurtido;
                $count++;
            }
            
            $this->_view->assign('moldes', $tran);
        }else{
            unset($_POST['guardar']);
            
            $sermod = $this->loadModel('Sermod');
            $transac = $this->loadModel('Transac');
            $partran = $this->loadModel('Partran');
            
            $count = 1;
            $Transac = "";
            $datosTransac = array();
            
            while(isset($_POST['colada_' . $count])){
                $transac->open(false);
                $datosTransac = $transac->getTransac($_POST['fecha_' . $count],$_POST['serie_' . $count],$_POST['usuario_' . $count],$_POST['colada_' . $count]);
                $transac->close();

                //carga los datos en un arreglo para insertarlos en un solo movimiento
                $datosPartran[] = $partran->setPartran(
                    $datosTransac['codigo'],
                    $count,$_POST['fecha_' . $count],
                    $_POST['almacen_' . $count],
                    $_POST['producto_' . $count],
                    $_POST['cantidad_' . $count],
                    $_POST['costo_' . $count],
                    'E',
                    'Generado desde PHP'
                );
                
                $count++;
            }
            
            $Transac = $_POST['serie_1'] . $datosTransac['numero'];
            $partran->open(false);
            if(!$partran->insert($datosPartran)){
                $this->_view->assign('_error', 'Error al generar la partida');
                $this->_view->renderizar('fusion', 'inicio');
            }
            
            $partran->close();
               
            $this->_view->assign('_susess', 'Transacciones generadas ' . $Transac);
        }
        
        //Envio de datos
        $this->_view->renderizar('fusion', 'inicio');
        echo "final: " . date('G:i:s');
    }
    
    public function pesos($idcolada){
        echo "inicio: " . date('G:i:s');
        $this->_view->setLayout('sincss');
        $this->_view->assign('titulo', 'Transaccion Acero');
        $this->_view->assign('titulo2',"Datos para transaccion de Material Dolares");
        
        //Cargar modelos
        $tran = array();
        
        if(!isset($_POST['guardar'])){
            $productos = $this->loadModel('Producto');
            $colada = $this->loadModel('Colada');
            $consumos = $this->loadModel('Consumo');
            $costos = $this->loadModel('Costos');
            
            $colada->open();
            $consumos->open();
            
            $moldes = $colada->pzasVaciadas($idcolada);
            $materiales = $consumos->materialVaciado($idcolada);
            
            $almacenMaterial = $this->loadModel('Almprodusu');
            
            
            $tran = array();
            $count = 0;
            $partran = $this->loadModel('Partran');
            
            foreach($materiales as $material){
                $producto = $material['claveDux'];
                $productos->open();
                $costos->open();
                
                $productos->get('IDENTIFICACION',"'" . $producto . "'");
                
                $partran->open();
                $almacenMaterial->open();
                $almacenMaterial->get('PRODUCTO',"'$producto'");
                $costo = $partran->getCosto($almacenMaterial->_almacen,$almacenMaterial->_producto);
                $almacenMaterial->close();
                $partran->close();
                
                if($almacenMaterial->_almacen != 'AMD'){
                    $tran[$count]['serie'] = 'LAN';
                    $tran[$count]['colada'] = $material['colada'];
                    $tran[$count]['fecha'] = $material['fecha'];
                    $tran[$count]['lance'] = $material['lance'];
                    $tran[$count]['horno'] = $material['maquina'];
                    $tran[$count]['producto'] = $material['claveDux'];
                    $tran[$count]['descripcion'] = $productos->_descripcion;
                    $tran[$count]['almacen'] = $almacenMaterial->_almacen;
                    $tran[$count]['usuario'] = 'Vaciado';
                    $tran[$count]['costo'] = $costo['costopromedio'];
                    $tran[$count]['tipo'] = 'S';
                    $tran[$count]['tipo2'] = 'Material';
                    $tran[$count]['cantidad'] = $material['cantidad'];
                    $count++;
                }
                
                $productos->close();
                $costos->close();
            }
            $this->_view->assign('moldes', $tran);
        }else{
            unset($_POST['guardar']);
            
            $sermod = $this->loadModel('Sermod');
            $transac = $this->loadModel('Transac');
            $partran = $this->loadModel('Partran');
            
            $count = 1;
            $Transac = "";
            $datosTransac = array();
            
            while(isset($_POST['colada_' . $count])){
                $transac->open(false);
                $datosTransac = $transac->getTransac($_POST['fecha_' . $count],$_POST['serie_' . $count],$_POST['usuario_' . $count],$_POST['colada_' . $count]);
                $transac->close();

                //carga los datos en un arreglo para insertarlos en un solo movimiento
                $datosPartran[] = $partran->setPartran(
                    $datosTransac['codigo'],
                    $count,$_POST['fecha_' . $count],
                    $_POST['almacen_' . $count],
                    $_POST['producto_' . $count],
                    $_POST['cantidad_' . $count] * (-1),
                    $_POST['costo_' . $count],
                    'S',
                    'Generado desde PHP'
                );
                
                $count++;
            }
            
            $Transac = $_POST['serie_1'] . $datosTransac['numero'];
            $partran->open(false);
            if(!$partran->insert($datosPartran)){
                $this->_view->assign('_error', 'Error al generar la partida');
                $this->_view->renderizar('fusion', 'inicio');
            }
            
            $partran->close();
               
            $this->_view->assign('_susess', 'Transacciones generadas ' . $Transac);
        }
        
        //Envio de datos
        $this->_view->renderizar('fusion', 'inicio');
        echo "final: " . date('G:i:s');
    }
    
    public function dolares($idcolada){
        echo "inicio: " . date('G:i:s');
        $this->_view->setLayout('sincss');
        $this->_view->assign('titulo', 'Transaccion Acero');
        $this->_view->assign('titulo2',"Datos para transaccion de Material Pesos");
        
        //Cargar modelos
        $tran = array();
        
        if(!isset($_POST['guardar'])){
            $partran = $this->loadModel('Partran');
            $productos = $this->loadModel('Producto');
            $colada = $this->loadModel('Colada');
            $consumos = $this->loadModel('Consumo');
            $costos = $this->loadModel('Costos');
            
            $colada->open();
            $consumos->open();
            
            $moldes = $colada->pzasVaciadas($idcolada);
            $materiales = $consumos->materialVaciado($idcolada);
            
            $almacenMaterial = $this->loadModel('Almprodusu');
            
            
            $tran = array();
            $count = 0;
            
            foreach($materiales as $material){
                $producto = $material['claveDux'];
                $productos->open();
                $costos->open();
                
                $productos->get('IDENTIFICACION',"'" . $producto . "'");
                
                $partran->open();
                $almacenMaterial->open();
                $almacenMaterial->get('PRODUCTO',"'$producto'");
                $costo = $partran->getCosto($almacenMaterial->_almacen,$almacenMaterial->_producto);
                $almacenMaterial->close();
                $partran->close();
                
                if($almacenMaterial->_almacen == 'AMD'){
                    $tran[$count]['serie'] = 'LAD';
                    $tran[$count]['colada'] = $material['colada'];
                    $tran[$count]['fecha'] = $material['fecha'];
                    $tran[$count]['lance'] = $material['lance'];
                    $tran[$count]['horno'] = $material['maquina'];
                    $tran[$count]['producto'] = $material['claveDux'];
                    $tran[$count]['descripcion'] = $productos->_descripcion;
                    $tran[$count]['almacen'] = $almacenMaterial->_almacen;
                    $tran[$count]['usuario'] = 'Vaciadod';
                    $tran[$count]['costo'] = $costo['costopromedio'];
                    $tran[$count]['tipo'] = 'S';
                    $tran[$count]['tipo2'] = 'Material';
                    $tran[$count]['cantidad'] = $material['cantidad'];
                    $count++;
                }
                
                $productos->close();
                $costos->close();
            }
            $this->_view->assign('moldes', $tran);
        }else{
            unset($_POST['guardar']);
            
            $sermod = $this->loadModel('Sermod');
            $transac = $this->loadModel('Transac');
            $partran = $this->loadModel('Partran');
            
            $count = 1;
            $Transac = "";
            $datosTransac = array();
            
            while(isset($_POST['colada_' . $count])){
                $transac->open(false);
                $datosTransac = $transac->getTransac($_POST['fecha_' . $count],$_POST['serie_' . $count],$_POST['usuario_' . $count],$_POST['colada_' . $count]);
                $transac->close();

                //carga los datos en un arreglo para insertarlos en un solo movimiento
                $datosPartran[] = $partran->setPartran(
                    $datosTransac['codigo'],
                    $count,$_POST['fecha_' . $count],
                    $_POST['almacen_' . $count],
                    $_POST['producto_' . $count],
                    $_POST['cantidad_' . $count] * (-1),
                    $_POST['costo_' . $count],
                    'S',
                    'Generado desde PHP'
                );
                
                $count++;
            }
            $Transac = $_POST['serie_1'] . $datosTransac['numero'];
            $partran->open(false);
            if(!$partran->insert($datosPartran)){
                $this->_view->assign('_error', 'Error al generar la partida');
                $this->_view->renderizar('fusion', 'inicio');
            }
            
            $partran->close();
               
            $this->_view->assign('_susess', 'Transacciones generadas ' . $Transac);
        }
        
        //Envio de datos
        $this->_view->renderizar('fusion', 'inicio');
        echo "final: " . date('G:i:s');
    }
}

?>